Packet Classification Algorithms
نویسنده
چکیده
This paper deals with packet classification in computer networks. Classification is the key task in many networking devices, most notably packet filters – firewalls. This paper therefore concerns the area of computer security. The paper is focused on high-speed networks with the bandwidth of 100Gb/s and beyond. General-purpose processors cannot be used in such cases, because their performance is not sufficient. Therefore, specialized hardware is used, mainly ASICs and FPGAs. Many packet classification algorithms designed for hardware implementation were presented, yet these approaches are not ready for very high-speed networks. This paper addresses the design of new high-speed packet classification algorithms, targeted for the implementation in dedicated hardware. The algorithm that decomposes the problem into several easier sub-problems is proposed. The first subproblem is the longest prefix match (LPM) operation, which is used also in IP packet routing. As the LPM algorithms with sufficient speed have already been published, they can be used in out context. The following subproblem is mapping the prefixes to the rule numbers. This is where the paper brings innovation by using a specifically constructed hash function. This hash function allows the mapping to be done in constant time and requires only one memory with narrow data bus. The algorithm throughput can be determined analytically and is independent on the number of rules or the network traffic characteristics. With the use of available parts the throughput of 266 million packets per second can be achieved. Additional three algorithms (PFCA, PCCA, MSPCCA) that follow in this paper are designed to lower the memory requirements of the first one without compromising the speed. The second algorithm lowers the memory size by 11% to 96%, depending on the rule set. The disadvantage of low stability is removed by the third algorithm, which reduces ∗Recommended by thesis supervisor: Prof. Václav Dvořák. Defended at Faculty of Information Technology, Brno University of Technology on September 17, 2012. c ⃝ Copyright 2012. All rights reserved. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from STU Press, Vazovova 5, 811 07 Bratislava, Slovakia. Puš, V. Packet Classification Algorithms. Information Sciences and Technologies Bulletin of the ACM Slovakia, Vol. 4, No. 4 (2012) 31-41 the memory requirements by 31% to 84%, compared to the first one. The fourth algorithm combines the third one with the older approach and thanks to the use of several techniques lowers the memory requirements by 73% to 99%.
منابع مشابه
Design and Practical Implementation of a New Markov Model Predictive Controller for Variable Communication Packet Loss in Network Control Systems
The current paper investigates the influence of packet losses in network control systems (NCS’s) using the model predictive control (MPC) strategy. The study focuses on two main network packet losses due to sensor to controller and controller to actuator along the communication paths. A new Markov-based method is employed to recursively estimate the probability of time delay in controller to ac...
متن کاملRemoving Redundancy from Packet Classifiers
Packet classification is the core mechanism that enables many networking services such as firewall access control and traffic accounting. Reducing memory space for packet classification algorithms is of paramount importance because a packet classifier must use very limited on-chip cache to store complex data structures. This paper proposes the first ever scheme that can significantly reduce mem...
متن کاملAn Analysis of Rule-set Databases in Packet Classification
Packet classification has proved to be an important challenge in network processing. It requires comparing each packet against a database of rules and forwarding the packet according to the highest priority matching rule. Packet classification can be seen as the categorization of incoming packets based on their headers according to specific criteria that examine specific fields within a packet ...
متن کاملAlgorithms for Packet Classification
The process of categorizing packets into “flows” in an Internet router is called packet classification. All packets belonging to the same flow obey a pre-defined rule and are processed in a similar manner by the router. For example, all packets with the same source and destination IP addresses may be defined to form a flow. Packet classification is needed for non “best-effort” services, such as...
متن کاملTowards a Packet Classification Benchmark
Packet classification is the enabling technology for next generation network services and often the primary bottleneck in high-performance routers. Due to the importance and complexity of the problem, a myriad of algorithms and resulting implementations exist. The performance and capacity of many algorithms and classification devices, including TCAMs, depend upon properties of the filter set an...
متن کاملSurvey & Taxonomy of Packet Classification Techniques
Packet classification is an enabling function for a variety of Internet applications including Quality of Service, security, monitoring, and multimedia communications. In order to classify a packet as belonging to a particular flow or set of flows, network nodes must perform a search over a set of filters using multiple fields of the packet as the search key. In general, there have been two maj...
متن کامل